JavaFX এর Built-in Controls হল গ্রাফিক্যাল ইউজার ইন্টারফেস (GUI) তৈরি করতে ব্যবহৃত বিভিন্ন ধরনের কন্ট্রোল, যেগুলি সাধারণত ইউজারের সাথে ইন্টারঅ্যাকশন (যেমন ইনপুট নেওয়া, অপশন নির্বাচন, ডেটা দেখানো ইত্যাদি) পরিচালনা করতে ব্যবহৃত হয়। কিছু গুরুত্বপূর্ণ Built-in Controls হল ComboBox, ListView, TableView, এবং TreeView। এগুলি সাধারণত ডেটা নির্বাচন, প্রদর্শন এবং লিস্ট ভিউ তৈরির জন্য ব্যবহৃত হয়।
ComboBox
হল একটি ড্রপডাউন মেনু, যা ইউজারকে একটি নির্দিষ্ট লিস্ট থেকে একটি অপশন নির্বাচন করতে সহায়তা করে। এটি টেক্সট ইনপুট এবং ড্রপডাউন অপশন দুটোই প্রদান করে।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ComboBox;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class ComboBoxExample extends Application {
@Override
public void start(Stage primaryStage) {
// ComboBox তৈরি করা
ComboBox<String> comboBox = new ComboBox<>();
// ComboBox এ অপশন যুক্ত করা
comboBox.getItems().addAll("Option 1", "Option 2", "Option 3", "Option 4");
// ComboBox থেকে নির্বাচিত আইটেম পেতে একটি ইভেন্ট হ্যান্ডলার
comboBox.setOnAction(e -> System.out.println("Selected Item: " + comboBox.getValue()));
// Layout তৈরি করা
StackPane root = new StackPane();
root.getChildren().add(comboBox);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(root, 300, 200);
primaryStage.setTitle("ComboBox Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
ListView
হল একটি কন্ট্রোল যা একাধিক আইটেমের একটি লিস্ট প্রদর্শন করে। এটি ব্যবহারকারীর জন্য একটি স্ক্রলেবল লিস্ট তৈরি করতে ব্যবহৃত হয়, যেখানে ইউজার এক বা একাধিক আইটেম নির্বাচন করতে পারে।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.ListView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class ListViewExample extends Application {
@Override
public void start(Stage primaryStage) {
// ListView তৈরি করা
ListView<String> listView = new ListView<>();
// ListView এ আইটেম যোগ করা
listView.getItems().addAll("Item 1", "Item 2", "Item 3", "Item 4");
// Layout তৈরি করা
StackPane root = new StackPane();
root.getChildren().add(listView);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("ListView Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
TableView
হল একটি টেবিল কন্ট্রোল যা ডেটা প্রদর্শন করতে ব্যবহৃত হয়। এটি একাধিক কলাম এবং রো দিয়ে টেবিল তৈরির জন্য ব্যবহৃত হয় এবং ইউজারের জন্য ডেটা প্রদর্শন ও ম্যানিপুলেশন সহজ করে।
import javafx.application.Application;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class TableViewExample extends Application {
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
@Override
public void start(Stage primaryStage) {
// TableView তৈরি করা
TableView<Person> tableView = new TableView<>();
// ডেটা যোগ করার জন্য ObservableList তৈরি করা
ObservableList<Person> data = FXCollections.observableArrayList(
new Person("John", 25),
new Person("Emma", 30),
new Person("Robert", 35)
);
// টেবিলের জন্য কলাম তৈরি করা
TableColumn<Person, String> nameColumn = new TableColumn<>("Name");
nameColumn.setCellValueFactory(cellData -> javafx.beans.property.adapter.ReadOnlyStringWrapper(cellData.getValue().getName()));
TableColumn<Person, Integer> ageColumn = new TableColumn<>("Age");
ageColumn.setCellValueFactory(cellData -> javafx.beans.property.adapter.ReadOnlyIntegerWrapper(cellData.getValue().getAge()));
// কলাম টেবিলে যোগ করা
tableView.getColumns().addAll(nameColumn, ageColumn);
tableView.setItems(data);
// Layout তৈরি করা
StackPane root = new StackPane();
root.getChildren().add(tableView);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("TableView Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Name
এবং Age
কলাম থাকবে এবং প্রতিটি রোতে একটি Person
অবজেক্টের ডেটা দেখানো হবে।TreeView
একটি হায়ারারকিক্যাল (অথবা গাছের মতো) ডেটা কাঠামো প্রদর্শন করতে ব্যবহৃত হয়। এটি সাধারণত ডিরেক্টরি স্ট্রাকচার, ফাইল সিস্টেম বা হায়ারারকিক্যাল ডেটা প্রদর্শন করতে ব্যবহৃত হয়।
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TreeItem;
import javafx.scene.control.TreeView;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class TreeViewExample extends Application {
@Override
public void start(Stage primaryStage) {
// Root item তৈরি করা
TreeItem<String> rootItem = new TreeItem<>("Root");
rootItem.setExpanded(true);
// Child item গুলি তৈরি করা
TreeItem<String> childItem1 = new TreeItem<>("Child 1");
TreeItem<String> childItem2 = new TreeItem<>("Child 2");
// Child item গুলি root এর মধ্যে যোগ করা
rootItem.getChildren().addAll(childItem1, childItem2);
// TreeView তৈরি করা
TreeView<String> treeView = new TreeView<>(rootItem);
// Layout তৈরি করা
StackPane root = new StackPane();
root.getChildren().add(treeView);
// Scene তৈরি এবং সেট করা
Scene scene = new Scene(root, 300, 250);
primaryStage.setTitle("TreeView Example");
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Root
আইটেম এবং তার দুটি Child
আইটেম থাকবে।JavaFX এ Built-in Controls এর মধ্যে ComboBox, ListView, TableView, এবং TreeView কন্ট্রোলস ইউজারের সাথে ইন্টারঅ্যাকশন এবং ডেটা প্রদর্শন করতে ব্যবহৃত হয়:
এগুলি JavaFX অ্যাপ্লিকেশনে ইউজার ইন্টারফেস ডিজাইন এবং ডেটা প্রদর্শন সহজ এবং কার্যকর করতে সহায়তা করে।
Read more